{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "filename = \"../data_clean/氢能_名称_经营范围_11w.csv\"\n",
    "df = pd.read_csv(filename)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(112328, 33)"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(94678,)"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"统一社会信用代码\"].unique().shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 使用 统一社会信用代码 作为企业的唯一标识，删除重复的企业信息。\n",
    "df = df.drop_duplicates(subset='统一社会信用代码')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(94678, 33)"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['存续', '注销', '吊销，未注销', '开业', '吊销', '在业', '撤销', '吊销，已注销', '正常', '迁出',\n",
       "       '歇业', nan], dtype=object)"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"经营状态\"].unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = df[df[\"经营状态\"].isin(['存续', '开业', '在业', '正常'])]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(74017, 33)"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(74017, 33)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.to_csv(\"../data_clean/氢能_企业信息_过滤_11w.csv\", index=False)\n",
    "df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## datasets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "from datasets import load_dataset, load_from_disk\n",
    "dataset = load_dataset(\"csv\", data_files=\"../data_clean/氢能_企业信息_过滤_11w.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatasetDict({\n",
       "    train: Dataset({\n",
       "        features: ['Unnamed: 0', '企业名称', '英文名称', '统一社会信用代码', '企业类型', '经营状态', '成立日期', '核准日期', '法定代表人', '注册资本', '实缴资本', '参保人数', '公司规模', '经营范围', '注册地址', '营业期限', '纳税人识别号', '工商注册号', '组织机构代码', '纳税人资质', '曾用名', '所属省份', '所属城市', '所属区县', '网站链接', '所属行业', '一级行业分类', '二级行业分类', '三级行业分类', '登记机关', '经度', '纬度', '网址'],\n",
       "        num_rows: 74017\n",
       "    })\n",
       "})"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "left_col = set(dataset[\"train\"].column_names) - set(['统一社会信用代码', '企业名称', '经营范围', '一级行业分类', '二级行业分类', '三级行业分类'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "dataset = dataset.remove_columns(left_col)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatasetDict({\n",
       "    train: Dataset({\n",
       "        features: ['企业名称', '统一社会信用代码', '经营范围', '一级行业分类', '二级行业分类', '三级行业分类'],\n",
       "        num_rows: 74017\n",
       "    })\n",
       "})"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "from settings import binary_cls_prompt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'你是氢能企业筛选专家，专注于氢能企业的识别和分类。氢能企业通常涉及氢气的生产、储存、运输、加注、使用和销售。以下是氢能企业的关键特征和业务范畴：\\n\\n1. **制氢技术**：拥有化石燃料制氢、电解水或电解槽制氢等技术;\\n2. **储运氢能力**：发展液氢、气氢管道、固体材料储氢、LNG大型储罐等技术和设施;\\n3. **氢能源电池技术**：涉足氢燃料电池，如氢燃料电池汽车、质子交换膜燃料电池等;\\n4. **氢能基础设施**：建设和运营氢能电站、氢能管道、氢能电池等基础设施;\\n5. **氢能产业生态**：涵盖制氢、储氢、加氢、氢能源汽车以及氢能基础设施等多个环节;\\n\\n请基于以上条件，分析以下企业信息，判断其是否属于氢能企业：\\n\\n企业信息：{industry_info}\\n\\n请给出准确判断结果，并以列表形式返回，如果该企业属于氢能企业，请返回[\"是\"]，否则返回[\"否\"]。'"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "binary_cls_prompt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "bc696f231b2b4b93891f1ba9292357ea",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Map:   0%|          | 0/74017 [00:00<?, ? examples/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def build_prompt(item):\n",
    "\n",
    "    col_name = ['企业名称','经营范围','一级行业分类', '二级行业分类', '三级行业分类']\n",
    "    industry_info = []\n",
    "    pair_prompt = \"{key}: {value}\\n\"\n",
    "\n",
    "    for col in col_name:\n",
    "        industry_info.append(pair_prompt.format(key=col, value=item[col]))\n",
    "\n",
    "    return {\n",
    "            \"prompt\": binary_cls_prompt.format(industry_info=\"\\n\".join(industry_info)),\n",
    "        }\n",
    "\n",
    "\n",
    "dataset = dataset.map(build_prompt)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatasetDict({\n",
       "    train: Dataset({\n",
       "        features: ['企业名称', '统一社会信用代码', '经营范围', '一级行业分类', '二级行业分类', '三级行业分类', 'prompt'],\n",
       "        num_rows: 74017\n",
       "    })\n",
       "})"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'企业名称': '马鞍山市衡安化工产品贸易有限责任公司',\n",
       " '统一社会信用代码': '91340500MA2TU460XE',\n",
       " '经营范围': '批发（不得存储）甲苯、重苯（苯渣）、焦化苯（轻苯）、二甲苯、洗油、溶剂油、甲醇、苯乙烯、煤焦油、萘、硫磺、蒽油、初馏份、脱酚酚油、甲酚（工业甲酚）、苯酚、二甲酚、邻甲酚、蒽、煤焦沥青、顺丁烯二酸酐、氢氧化钠、硫酸、粗苯、二甲残油、轻油；批发零售化工产品（除危险品、易制毒品）、水处理药剂、润滑油、工矿配件、机电产品、五金建材、消防器材、劳保用品、电子产品、生铁、耐火材料、钢材、办公用品。（依法须经批准的项目，经相关部门批准后方可开展经营活动）',\n",
       " '一级行业分类': '制造业',\n",
       " '二级行业分类': '石油、煤炭及其他燃料加工业',\n",
       " '三级行业分类': '煤炭加工',\n",
       " 'prompt': '你是氢能企业筛选专家，专注于氢能企业的识别和分类。氢能企业通常涉及氢气的生产、储存、运输、加注、使用和销售。以下是氢能企业的关键特征和业务范畴：\\n\\n1. **制氢技术**：拥有化石燃料制氢、电解水或电解槽制氢等技术;\\n2. **储运氢能力**：发展液氢、气氢管道、固体材料储氢、LNG大型储罐等技术和设施;\\n3. **氢能源电池技术**：涉足氢燃料电池，如氢燃料电池汽车、质子交换膜燃料电池等;\\n4. **氢能基础设施**：建设和运营氢能电站、氢能管道、氢能电池等基础设施;\\n5. **氢能产业生态**：涵盖制氢、储氢、加氢、氢能源汽车以及氢能基础设施等多个环节;\\n\\n请基于以上条件，分析以下企业信息，判断其是否属于氢能企业：\\n\\n企业信息：企业名称: 马鞍山市衡安化工产品贸易有限责任公司\\n\\n经营范围: 批发（不得存储）甲苯、重苯（苯渣）、焦化苯（轻苯）、二甲苯、洗油、溶剂油、甲醇、苯乙烯、煤焦油、萘、硫磺、蒽油、初馏份、脱酚酚油、甲酚（工业甲酚）、苯酚、二甲酚、邻甲酚、蒽、煤焦沥青、顺丁烯二酸酐、氢氧化钠、硫酸、粗苯、二甲残油、轻油；批发零售化工产品（除危险品、易制毒品）、水处理药剂、润滑油、工矿配件、机电产品、五金建材、消防器材、劳保用品、电子产品、生铁、耐火材料、钢材、办公用品。（依法须经批准的项目，经相关部门批准后方可开展经营活动）\\n\\n一级行业分类: 制造业\\n\\n二级行业分类: 石油、煤炭及其他燃料加工业\\n\\n三级行业分类: 煤炭加工\\n\\n\\n请给出准确判断结果，并以列表形式返回，如果该企业属于氢能企业，请返回[\"是\"]，否则返回[\"否\"]。'}"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataset[\"train\"][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f943e8bfc88c4948b522ee5aad0465eb",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Saving the dataset (0/1 shards):   0%|          | 0/74017 [00:00<?, ? examples/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "dataset.save_to_disk(\"hydrogen_binary_dataset_11w\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "test_dataset = load_from_disk(\"hydrogen_binary_dataset_11w\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatasetDict({\n",
       "    train: Dataset({\n",
       "        features: ['企业名称', '统一社会信用代码', '经营范围', '一级行业分类', '二级行业分类', '三级行业分类', 'prompt'],\n",
       "        num_rows: 74017\n",
       "    })\n",
       "})"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'企业名称': '马鞍山市衡安化工产品贸易有限责任公司',\n",
       " '统一社会信用代码': '91340500MA2TU460XE',\n",
       " '经营范围': '批发（不得存储）甲苯、重苯（苯渣）、焦化苯（轻苯）、二甲苯、洗油、溶剂油、甲醇、苯乙烯、煤焦油、萘、硫磺、蒽油、初馏份、脱酚酚油、甲酚（工业甲酚）、苯酚、二甲酚、邻甲酚、蒽、煤焦沥青、顺丁烯二酸酐、氢氧化钠、硫酸、粗苯、二甲残油、轻油；批发零售化工产品（除危险品、易制毒品）、水处理药剂、润滑油、工矿配件、机电产品、五金建材、消防器材、劳保用品、电子产品、生铁、耐火材料、钢材、办公用品。（依法须经批准的项目，经相关部门批准后方可开展经营活动）',\n",
       " '一级行业分类': '制造业',\n",
       " '二级行业分类': '石油、煤炭及其他燃料加工业',\n",
       " '三级行业分类': '煤炭加工',\n",
       " 'prompt': '你是氢能企业筛选专家，专注于氢能企业的识别和分类。氢能企业通常涉及氢气的生产、储存、运输、加注、使用和销售。以下是氢能企业的关键特征和业务范畴：\\n\\n1. **制氢技术**：拥有化石燃料制氢、电解水或电解槽制氢等技术;\\n2. **储运氢能力**：发展液氢、气氢管道、固体材料储氢、LNG大型储罐等技术和设施;\\n3. **氢能源电池技术**：涉足氢燃料电池，如氢燃料电池汽车、质子交换膜燃料电池等;\\n4. **氢能基础设施**：建设和运营氢能电站、氢能管道、氢能电池等基础设施;\\n5. **氢能产业生态**：涵盖制氢、储氢、加氢、氢能源汽车以及氢能基础设施等多个环节;\\n\\n请基于以上条件，分析以下企业信息，判断其是否属于氢能企业：\\n\\n企业信息：企业名称: 马鞍山市衡安化工产品贸易有限责任公司\\n\\n经营范围: 批发（不得存储）甲苯、重苯（苯渣）、焦化苯（轻苯）、二甲苯、洗油、溶剂油、甲醇、苯乙烯、煤焦油、萘、硫磺、蒽油、初馏份、脱酚酚油、甲酚（工业甲酚）、苯酚、二甲酚、邻甲酚、蒽、煤焦沥青、顺丁烯二酸酐、氢氧化钠、硫酸、粗苯、二甲残油、轻油；批发零售化工产品（除危险品、易制毒品）、水处理药剂、润滑油、工矿配件、机电产品、五金建材、消防器材、劳保用品、电子产品、生铁、耐火材料、钢材、办公用品。（依法须经批准的项目，经相关部门批准后方可开展经营活动）\\n\\n一级行业分类: 制造业\\n\\n二级行业分类: 石油、煤炭及其他燃料加工业\\n\\n三级行业分类: 煤炭加工\\n\\n\\n请给出准确判断结果，并以列表形式返回。如果该企业属于氢能企业，请返回[\"是\"]，否则返回[\"否\"]。'}"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_dataset[\"train\"][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'企业名称': '马鞍山市衡安化工产品贸易有限责任公司',\n",
       " '统一社会信用代码': '91340500MA2TU460XE',\n",
       " '经营范围': '批发（不得存储）甲苯、重苯（苯渣）、焦化苯（轻苯）、二甲苯、洗油、溶剂油、甲醇、苯乙烯、煤焦油、萘、硫磺、蒽油、初馏份、脱酚酚油、甲酚（工业甲酚）、苯酚、二甲酚、邻甲酚、蒽、煤焦沥青、顺丁烯二酸酐、氢氧化钠、硫酸、粗苯、二甲残油、轻油；批发零售化工产品（除危险品、易制毒品）、水处理药剂、润滑油、工矿配件、机电产品、五金建材、消防器材、劳保用品、电子产品、生铁、耐火材料、钢材、办公用品。（依法须经批准的项目，经相关部门批准后方可开展经营活动）',\n",
       " '一级行业分类': '制造业',\n",
       " '二级行业分类': '石油、煤炭及其他燃料加工业',\n",
       " '三级行业分类': '煤炭加工',\n",
       " 'labels': '请你根据下述企业信息，判断该企业是否属于氢能企业：\\n    企业名称: 马鞍山市衡安化工产品贸易有限责任公司\\n\\n经营范围: 批发（不得存储）甲苯、重苯（苯渣）、焦化苯（轻苯）、二甲苯、洗油、溶剂油、甲醇、苯乙烯、煤焦油、萘、硫磺、蒽油、初馏份、脱酚酚油、甲酚（工业甲酚）、苯酚、二甲酚、邻甲酚、蒽、煤焦沥青、顺丁烯二酸酐、氢氧化钠、硫酸、粗苯、二甲残油、轻油；批发零售化工产品（除危险品、易制毒品）、水处理药剂、润滑油、工矿配件、机电产品、五金建材、消防器材、劳保用品、电子产品、生铁、耐火材料、钢材、办公用品。（依法须经批准的项目，经相关部门批准后方可开展经营活动）\\n\\n一级行业分类: 制造业\\n\\n二级行业分类: 石油、煤炭及其他燃料加工业\\n\\n三级行业分类: 煤炭加工\\n\\n\\n    请以list的形式返回结果，若是氢能企业，请返回[\"是\"]，否则返回[\"否\"]。\\n    '}"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataset[\"train\"][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "llm",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
